/* ---------------------------------------------------------------------- */
/*  Top Navbar
/* ---------------------------------------------------------------------- */
.navbar {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1089;
    border: none;
    margin-bottom: 0;
    height: $header-height;

    .loading-bar-wrapper {
        position: absolute;
        bottom: 0;
        height: 3px;
        left: 0;
        right: 0;
        z-index: 999;
    }

    .navbar-header {
        z-index: 10;

        @media (min-width: $screen-sm-min) {
            width: $sideBar-width;
        }

        background: $white;
        border-bottom: 1px solid $border-default;
        position: relative;
        height: $header-height;

        @media (min-width: $screen-md-min) {
            border-right: 1px solid $border-default;
        }

        a {
            line-height: $header-height;
            height: $header-height;
        }

        .navbar-brand {
            padding: 0 15px;

            img {
                display: inline-block;
                margin-top: -6px;
            }
        }

        .menu-toggler {
            margin-right: 60px;
            padding: 0 15px;
            font-size: $font-size-extra-large;
            color: $grey;
        }

        .sidebar-toggler {
            font-size: $font-size-extra-large;
            padding-right: 15px;
            color: $grey;

            &:hover {
                color: $darkGrey;
            }
        }

        .sidebar-mobile-toggler {
            font-size: $font-size-extra-large;
            padding-left: 15px;
            padding-right: 15px;
            color: $grey;

            &:hover {
                color: $darkGrey;
            }
        }
    }

    .navbar-collapse {
        border-bottom: 1px solid $border-default;
        border-top: none;
        background: $white;
        padding-left: 15px !important;
        padding-right: 15px !important;
        position: relative;

        @media (min-width: $screen-sm-min) {
            margin-left: $sideBar-width;
            height: $header-height !important;

            .nav {
                height: auto !important;
            }
        }

        @media (max-width: $screen-xs-max) {
            padding-left: 0 !important;
            padding-right: 0 !important;

            .nav {
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
            }
        }

        &.in {
            overflow-y: visible;
        }
    }

    .app-slide-off &, .app-offsidebar-open & {
        @media (max-width: $screen-sm-max) {
            position: absolute !important;
        }
    }

    .app-navbar-fixed & {
        @media (min-width: $screen-md-min) {
            .navbar-collapse, .navbar-header {
                position: fixed;
                top: 0;
                left: 0;
                right: 0;
            }

            .dropdown-off-sidebar {
                position: fixed;
                top: 0;
            }
        }
    }

    .app-sidebar-closed & {
        @media (min-width: $screen-md-min) {
            .navbar-header {
                width: $sideBar-closed-width;

                .navbar-brand {
                    display: none;
                }

                .sidebar-toggler {
                    float: none !important;
                    display: block;
                    margin: 0;
                    padding: 0;
                    text-align: center;
                }
            }

            .navbar-collapse {
                margin-left: $sideBar-closed-width;
            }
        }
    }

    @media (max-width: $screen-sm-max) {
        left: 0;
        margin: 0;
        position: fixed;
        right: 0;
        width: 100%;
    }

    .app-sidebar-fixed & {
        .navbar-header {
            @media (min-width: $screen-md-min) {
                position: fixed;
                top: 0;
            }
        }
    }

    .close-handle {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        background: $white;
        cursor: pointer;
        z-index: 1;
        min-height: 40px;

        .arrow-left, .arrow-right {
            background-color: $border-default;
            border-radius: 10px;
            bottom: 15px;
            height: 8px;
            left: 50%;
            position: absolute;
            @include transition(transform 0.2s ease 0s);
            width: 24px;
            margin-left: -12px;
            cursor: pointer;
        }

        .arrow-left {
            @include transform(translate3d(-8px, 0px, 0px) rotate(-10deg));
        }

        .arrow-right {
            @include transform(translate3d(8px, 0px, 0px) rotate(10deg));
        }
    }

    .navbar-right {
        .nav {
            margin: 0;

            .dropdown-light {
                &:after {
                    right: 36px;
                    left: auto;
                    top: -9px;
                }

                &:before {
                    right: 35px;
                    left: auto;
                    top: -11px;
                }
            }
        }

        .badge {
            background-color: $red;
            color: $white;
            padding: 4px 6px;
            position: absolute;
            top: 3px;
            font-size: 10px;
            left: 50%;
            @include transform(translateX(-50%));
            right: auto;
            margin-left: 13px;
        }

        .dot-badge {
            border-radius: 100%;
            border-style: solid;
            border-width: 2px;
            height: 10px;
            margin: 2px;
            position: absolute !important;
            border-color: $white;
            top: 6px;
            width: 10px;
            left: 50%;
            @include transform(translateX(-50%));
            right: auto;
            margin-left: 10px;
        }

        .view-all {
            text-align: center;
        }

        .drop-down-wrapper {
            ul {
                list-style: none;
                margin: 0;
                padding: 5px 5px 0 5px;
            }
        }
    }

    .dropdown-off-sidebar {
        position: absolute;
        z-index: 11;
        top: 0;
        right: 0;
        border-left: 1px solid $border-default;
        width: 30px;
        background: $white;
        line-height: $header-height - 1;
        color: $grey;

        &:after {
            position: absolute;
            font-size: $font-size-extra-large;
            padding: 0;
            margin: 0;
            font-family: 'themify';
            content: "\e6da";
            left: 5px;
            top: 0;
        }

        .app-offsidebar-open & {
            &:after {
                content: "\e6d9";
            }
        }

        .app-offsidebar-open & {
            @media (min-width: $screen-md-min) {
                position: fixed;
            }
        }

        @media (max-width: $screen-sm-max) {
            width: 50px;

            &:after {
                left: 15px;
            }
        }
    }

    .navbar-right {
        @media (min-width: $screen-md-min) {
            position: relative;
            margin: 1px 15px 0 0;
        }

        @media (max-width: $screen-sm-max) and (min-width: $screen-xs-max) {
            position: relative;
            margin: 1px 35px 0 0;
        }

        > li {
            @media (min-width: $screen-sm-min) {
                float: left;
            }

            @media (max-width: $screen-xs-max) {
                border-bottom: 1px solid $border-default;

                &:last-child {
                    margin-bottom: 40px;
                }
            }

            > a {
                @include border-radius(3px);
                color: $text-color;
                font-size: $font-size-extra-small;
                font-weight: 600;
                letter-spacing: 0;
                line-height: 27px;
                text-transform: uppercase;

                @media (min-width: $screen-sm-min) {
                    margin-right: 3px;
                }

                @include opacity(0.9);
                padding: 5px 15px 5px 15px;
                position: relative;
                text-align: center;

                &:hover {
                    background: lighten($grey, 15%);
                }

                i {
                    display: block;
                    margin-top: 7px;
                    color: $grey;
                    font-size: $font-size-extra-large;
                }
            }

            &.current-user {
                > a {
                    padding-top: 12px;
                    padding-bottom: 12px;
                    font-size: $font-size-base;
                    font-weight: normal;
                    text-transform: none;
                    float: left;

                    img {
                        float: left;
                        margin-right: 5px;
                        width: 39px;
                        margin-top: -2px;
                        border-radius: 20%;
                    }

                    span {
                        float: left;
                        line-height: 18px;
                        margin-top: 3px;
                    }

                    i {
                        margin: 0;
                        font-size: $font-size-normal;
                    }
                }

                @media (max-width: $screen-xs-max) {
                    a {
                        display: block;
                        float: none;

                        img {
                            display: inline-block;
                            margin-right: 0;
                            float: none;
                        }

                        span {
                            bottom: 0;
                            left: 0;
                            position: absolute;
                            right: 0;
                            top: 0;
                            font-size: 0;
                            line-height: 0px;
                            float: none;
                            margin-top: 0;
                        }

                        i {
                            font-size: $font-size-normal;
                            line-height: 60px;
                            color: $white !important;
                            @include transition(opacity 0.3s ease);
                            background: rgba(#000, 0.5);
                            height: 39px;
                            line-height: 39px;
                            margin: 10px auto;
                            width: 39px;
                            border-radius: 20%;
                        }
                    }

                    &.open, a:hover {
                        i {
                            opacity: 0;
                        }
                    }
                }
            }
        }

        .dropdown-menu {
            &:before {
                top: -11px;
                right: 35px;
                left: auto;
            }

            &:after {
                top: -9px;
                right: 36px;
                left: auto;
            }

            &.dropdown-subview {
                .fa-stack {
                    height: 1.9em;
                    line-height: 1.9em;
                    vertical-align: top;
                    margin-right: 5px;
                }
            }

            &.dropdown-large {
                width: 300px;
            }

            &.dropdown-messages {
                .drop-down-wrapper {
                    .media-body {
                        width: auto !important;
                    }
                    
                    ul {
                        > li {
                            a {
                                @include border-radius(3px);
                                color: $text-color;
                                display: block;
                                margin-bottom: 5px;
                                padding: 10px;
                                border-bottom: none;
                                background-color: $lightGrey;
                                text-align: left;

                                &.unread {
                                    background-color: lighten($grey, 14%);
                                }

                                &:hover, &:focus, &:active {
                                    background-color: lighten($grey, 12.5%);
                                }

                                .thread-image {
                                    float: left;
                                    height: 50px;
                                    margin-right: 8px;
                                    width: 50px;
                                }

                                .author {
                                    display: block;
                                    font-size: $font-size-small;
                                    font-weight: 600;
                                    line-height: normal;
                                }

                                .preview {
                                    display: block;
                                    font-size: $font-size-extra-small;
                                    line-height: normal;
                                    color: $darkGrey;
                                }

                                .time {
                                    display: block;
                                    float: right;
                                    font-size: $font-size-extra-small;
                                    font-style: italic;
                                    font-weight: 600;
                                    color: $darkGrey;
                                }
                            }
                        }
                    }
                }
            }

            @media (max-width: $screen-xs-max) {
                position: relative;
                width: 100% !important;
                max-width: 100% !important;
                box-shadow: none;
                border-right: none;
                border-left: none;
                border-bottom: none;
                margin: 0;

                &:before {
                    left: 50% !important;
                    @include transform(translateX(-50%));
                }

                &:after {
                    left: 50% !important;
                    @include transform(translateX(-50%));
                }
            }
        }

        > li {
            @media (max-width: $screen-xs-max) {
                float: left;
                width: 100%;
            }
        }
    }
}
